Introduction
I decided to write a few REXX programs to display various types
of information about football matches that I played with a certain football
game. This allowed me to display the league, statistics about my team and
all the results. Problem was, I had to run all these from the Shell and
after a while, it became a pain in the butt. Hence, FOOTBALL was born.
The purpose of FOOTBALL is a central point where all these programs
can be run from and to display the information without using the Shell. Before
all leagues had to be created manually and now, you can create a league and
maintain it, without quitting one program and running another. FOOTBALL solves
all these problems. The program can only look after one league/division.
Multiple leagues can be setup and teams can be transferred between them, for
promotion and relegation using an external AREXX script. Cups can also be
set-up and played, using Extra Time, Penalties and Replays. See Set Up Cup.
Football can now store player and match information such as
referees, attendances, goal scorers, bookings, substitutes and man of the
match awards. New options include renaming files, changing team names,
changing match scores and locale support.
Points To Note:
The selector that allows you to select a team, is font adaptable. If
the current font is too big to display the data, then the selector will use
the default font, ie. topaz 8.
Copyright Information
Football is released as Freeware for everyone to use and love but
should you use the information generated, then consider COURTESY-WARE; add a
note saying the data was created by Football along with the author's name.
Then drop me an email and I'll include your website or name in the
next update.
Return To Top
Requirements
You need the following to run Football :
- Workbench 2 and above
- AREXX to be up and running
(make sure 'rexxsupport.library' is present)
- AmigaGuide or MultiView to view this file
- AmigaDOS program 'Sort' to be in the 'C:' directory
- AmigaDOS program 'Delete' to be in the 'C:' directory
- AmigaDOS program 'Rename' to be in the 'C:' directory
For script 'HTMLTemplates', you need the following programs :
- RequestFile - supplied with OS3.x; for OS2.x users,
see the Aminet.
- RequestChoice - supplied with OS3.x; for OS2.x users,
see the Aminet.
- RequestString - freeware from the Aminet.
Return To Top
Supplied Programs
The following programs should be present. If not they will affect the
operation of the program. They are :
WriteMatch.rexx Games.rexx
Alt_League.rexx League.rexx
Lstats.rexx Alt_Results.rexx
Results.rexx Scheduler.rexx
Stats.rexx UpdateSettings.rexx
CupScheduler.rexx ViewCupResults.rexx
ViewCupCurRound.rexx CupUpdateMatches.rexx
CupScheduleNextRound.rexx UpdateTeamName.rexx
UpdateCupTeamName.rexx ChangeMatchScore.rexx
ReadMatchData.rexx DupMatches
Footsort SortWkDts
Sort4Chars Sort7Chars
FOOTBALL
And Where They Should Be...
FOOTBALL should be in the directory where you've installed it and
then the program files should reside in a subdirectory named 'Exec' and
the external scripts/programs in a subdirectory named 'User'.
The datafiles can now now be put into directories (only one
subdirectory of 'Data' though). Schedules reside in 'Data/Schedules'.
Locales reside in subdirectory 'Locale'. The only required one is 'english'.
Return To Top
How It Works
The suite of programs are used to create, update and maintain a
football league. First the league is created and saved to "filename.df".
This is then used by SCHEDULER to create the schedule and stats files -
"filename.sf" and "filename.stats". The stats file contains all the
data about each team such as PLAYED, WIN, DRAWN, LOST etc. This file is
not updated as its used as a base for the league. This has the advantage
of starting a league mid-season (by updating these values) if the scores
are not known but the table is. Obviously certain statistics will be
incorrect because of this. See Hints And Tips.
By using GAMEPLAY, a file containing the matches in the order
they are played is stored - "filename.sflearn". This data is used
for display options when you require the matches for a team, in the
order they were played. When GAMEPLAY is used, and if the match
entered is a valid one then "filename.sf" and "filename.sflearn"
are updated. When the league is displayed, "filename.stats" is read
in and stored. This is then updated with the scores from
"filename.sf". The table is sent to a temporary file which is sorted
into the correct order and is then checked again, before being
displayed.
Return To Top
Installation
To install FOOTBALL :
- Make a directory on a hard-disk or format a disk.
- Then copy then the contents of the directory where FOOTBALL
currently sits, to the one you just created.
- You should then have FOOTBALL and its icon in the directory and
three subdirectories named :
Data/ (holds all the datafiles)
Exec/ (contains main REXX and other programs)
User/ (holds all the external user scripts)
Locale/ (holds locale catalogs)
HTML/ (holds HTML output files)
HTMLTemplates/ (holds HTML templates)
- Next select the icon and Information from the Workbench
menu Icons. Change the tool types for GUIDE and VIEWR,
remembering the full path.
- In the Data/ directory, there are several examples :
Shiva2 - Leagues that have been used with a
Shiva3 certain football game.
League_OddSched - An example of using the new schedule
options to play teams an odd number of matches.
OddTeams - Datafiles showing odd number of teams
in a league.
Players - Test datafile for handling player and
match information.
FAPrem_9798 - Last season's FA Carling Premiership.
FAPrem_9899 - The current season's FA Carling
Premiership.
FAPrem_9900 - The latest season with goal scorers etc....
EMKval - The next three datafiles have been supplied by
Jan Allan Andersen. This one, Denmark's qualifying
group for Euro 2000.
SuperLiga9899 - Danish Super League for 98/99.
SuperLiga9900 - Danish Super League for 99/00.
1BL_98-99 - Supplied by Heiko Schroder. The German Bundesliga
for 98/99.
WC98_Grp - The Groups from this year's World Cup in France.
WorldCup_Jul98 - The final stages of the World Cup in France.
FACT - A finished sample Cup which was used to test the
features.
- Then sit back, double click (or whatever) and .......
Return To Top
Tool Types
REXXC (Default "SYS:Rexxc/")
When the program is run from the Workbench, and if REXXC isn't
assigned then it cannot find the RX command (used to run AREXX
programs). It is set to the default but this allows you to
specify an alternate path.
GUIDE (Default "SYS:Utilities/MultiView Football.Guide")
This allows you to change what documentation file you wish to
read. You can read either the guide file or the HTML docs.
VIEWR (Default "c:ppmore")
This allows you to specify which file viewer you wish to view
the displays with. Don't forget to add the complete path.
PPMore is copyright by Nico Francois.
FRONT_LEFT and FRONT_TOP (Default =1)
CREATE_LEFT and CREATE_TOP (Default =1)
GAMEPLY_LEFT and GAMEPLY_TOP (Default =1)
SELECT_LEFT and SELECT_TOP (Default =1)
These tool-types specify the left and top positions of the
windows. FRONT is the main window, CREATE is "Create League",
GAMEPLY is the window where you enter scores and SELECT is
the window where you select the teams.
With the addition of Cups, FRONT is the main "Play Cup Games"
window, CREATE is "Setup Cup" and GAMEPLY is "Enter Cup Scores".
Return To Top
Create A League
This is where a league is first set up. You can setup how many points
for a win, loss and a draw. You can setup how many times each team plays
each other, how many teams are relegated and if you so desire, how many
points are awarded for each goal scored. Teams Promoted, if a league of
multiple divisions is being set up, can be set. You can also specify the
schedule file to be used. Click "?" to select one. If a league of multiple
divisions is being setup and this is the final division being setup but is
the first one, change the number of divisions and then selecting "?", you
can specify the other division filenames.
You can enter your name, the title of the league and what the file
should be called. Then you can enter the teams (up to 50).
Click on Add_Team, type the name, hit ENTER. To change a team, click
on the team in the listview, edit it and then hit ENTER. To delete a team,
click on the team then click on Delete_Team. To import all the data from a
previous league, click on Import_League. Then select the league from the
list, and the details will be displayed on the window. When finished, click
SAVE to create the league.
I use Import_League to read a previous league, then I delete the
bottom six teams in the table and add six new ones. Then I change the
league and filename and then SAVE it.
Football now gives you the option to set up the statistics file
for the league just created. You can click 'No Way!' for an automatic setup
or 'Okay' for manual setup. Click on the teams then change the settings
below. Click 'Save Stats' to create the file - this is useful when starting
a season mid way. To revert back to an automatic setup, click 'Close'.
See Starting Mid-Season.
Football now checks to see if the schedule definition file supplied
has the correct number of matches set up for the league to run with
the number of teams and the number of times they play each other.
As Football can now handle datafiles in subdirectories of 'Data/',
there is a "?" to the left of the filename for selecting the directory.
Return To Top
Update League Settings
The principle is the same as CREATE LEAGUE except you can change the
points awarded, numbers of promoted/relegated teams, the title and author.
Follow on-screen messages.
Return To Top
Update Stats Datafile
You can also update the statistics file, useful for starting a season
mid way. See Starting Mid-Season. Click on a team
then adjust the points, matches, wins, draws etc. Click on 'Save Stats'
will do what it says.
You can set the points to a negative value up to -20. This will handle
teams who have had points deducted.
Return To Top
Rename Datafiles
As there are a number of datafiles used for each league and cup, it
made sense to implement this. Upon selecting the option, you pick a team
from the file requester and a string requester appears prompting you to
change it. The directory path will be retained.
Return To Top
Change Team Name
One option that was missing, was the ability to change team names
whether in Leagues or Cups. Select a team from the list, change it and
all files will correctly reflect the new team.
* IMPORTANT *
Be careful as if the newly renamed team has a different position in
the schedule file (Leagues only), the league's schedules will all be wrong
but only if you run one of the 'Update...' scripts.
Return To Top
Change Match Score
This option has been missing for a very long time. After several
requests, its here. When selected, a list of played matches will be
shown. Click on the match and then on READ MATCH. Now the details can
be changed the same way as they are entered in ENTER SCORES. When
you've finished, click on SAVE MATCH - the same checks as ENTER SCORES
are performed so you cannot enter more goal scorers than there are goals.
To unplay a match (or reset it if you like), select the match, read it
and then click UNPLAY MATCH.
When a match is updated, a report is shown, displaying the previous
match and the new one, what action was done (player info updated, match
updated or match unplayed).
If there are duplicate matches (same home/away, teams and score), then
a requester will appear, displaying a list of the duplicates. Select the
match to change it.
If you've read a match but wish to read another, click on RESET OPTION
then select the other match that you want to read.
At any time you want to quit the option, click EXIT.
Return To Top
Change Locale
With v2.5, you can now change the locale for the AREXX scripts. In a
later version, the main program will be converted over. The beauty of this
though, is that all those OS2.04 users who haven't upgraded to OS2.1, can
now view the datafiles in their language, if written.
Selecting this option, will allow you to change between the available
locales. If you want to write your own, see 'Locale.docs' in the 'Locale'
directory.
Return To Top
Open A League
A list of leagues are read from the 'Data' directory and are displayed
in a file requester, for you to choose.
Return To Top
Documentation
Pressing HELP displays the amigaguide file that you are now reading or
the HTML documentation.
Return To Top
Entering Scores
After opening a league, you can enter the scores for matches that
have been played. There are two listview gadgets for the teams in league,
playing HOME and AWAY. Click on the team, click in the slider gadget to
change the score and click SAVE MATCH to save it. The screen will then
beep and flash (depending on how you've set up your Workbench) and the
scores will be reset to zero. The number of matches stored while this
option is active, is displayed and the last match stored is displayed at
the bottom. If the match that you have entered has already been played,
then an error message will be displayed.
To exit the option, click on the close gadget, or press ESCAPE.
Also, you are able to record match and player information. Click on
'Match Stats' and enter the referee and attendance. If these are not
filled in, they will not get recorded in the datafile.
To enter player information, click on 'Home Team' or 'Away Team'.
Again, if the information is not filled in, then it will not get recorded.
The program will handle the information you put in.
The window will appear ONLY after you have selected two teams.
Click on 'Add Player' and make a selection from 'Goal!', Penalty,
Own Goal, Yellow card, Yellow-Red card, Red card, Substitute and
Man of the Match. You can now select a previously entered player and
hit 'Clone' so the labour of typing in a 20 letter name is taken away.
The time value can be entered if you so wish for all options - it is
not required.
For substitutes, I recommend entering them as 'Player A (Player B)'
with Player B coming on. Click on 'Enter Details' to store. Normal rules
apply for 'Delete Player'. When finished, click 'Close' or press ESCAPE.
*IMPORTANT*
If you enter goal scorers, the program will check to see if you
have entered the right number of scorers compared to the number of goals
scored. If not, you will be shown an error. Re-enter or adjust the player
listing to suit.
Return To Top
League Information
This will display the various settings for the league, the number
of matches played and the number of home/away wins, the highest home
and away wins and the teams with the best record.
If the information is stored, this option will display the
top 10 scorers, the highest/lowest attendances, the fastest goal and
the Fair Play table.
Return To Top
Display A League
As well as the league being displayed, the top team will be
displayed in capitals. A promotion line will show those teams which
qualify for promotion where as at the bottom, the relegation line will
show those liable for relegation. Any team under this line in capitals
has already been relegated.
**NEW**
See External Scripts for details on changing
the format of the table.
Return To Top
League Results
This will display all the results from the league so far,
in the order that they were played in.
**NEW**
If you are storing player and match information, you might
want to see External Scripts for details on changing to
a different display, showing scorers etc.
Return To Top
Team Results
Select a team from the list. It will show each match that has
been played and whether it was played at HOME or AWAY, the score
(Selected teams score is always first) and whether it was a Home or
Away win, a loss or a draw.
Return To Top
Team Statistics
Select a team from the list. It will show the data for the team's
home and away record, its current and longest undefeated run.
Depending on the information stored, it will also display the highest
and lowest attendances and the top scorers.
Return To Top
Setting Up A Cup
Cups can be set-up to run from 2 teams upto a maximum of 256. On the
main window, you can enter the title of the Cup and the filename. The gadget
to the left allows you to select which directory in 'Data' you wish to save
the datafiles to. The number of rounds can be changed which updates the
display labelled 'Teams'. The number on the left is the number of teams
to get and the right hand number is the maximum number of teams allowed.
Changing the rounds will update the listview. Each line of this has the
round name and two settings for Extra Time and Penalties. Clicking on one
of these lines will change the cycle gadgets at the bottom. The round name
will be displayed along with the current settings for Extra Time and
Penalties and Legs. These can be changed and will update the listview.
If you set a round to two legs, then the settings for Extra Time and
Penalties will be just Extra Time and Penalties. Away Goals can also be
set but only apply to two legged matches.
You can select if there is to be a Third Place Play-Off and if Cup
history is to be stored. BUT...the filename has to be the same otherwise
a history will not be built up over progressive seasons. Next to all of this
is the listview where you enter the teams. Operation is the same as
CREATE LEAGUE except that selecting IMPORT TEAMS and IMPORT CUP will stop
and only import the number of teams that it requires. Clicking on SAVE runs
the Cup Scheduler which produces a report and schedules the first round.
A new feature is automatic (default) and manual scheduling of matches.
If manual scheduling is selected, you will be given another panel where
you set up the matches. The panel shows the cup name, the current round,
the total number of matches and two listview gadgets. The bottom one
contains the matches, the top one contains the teams. To store a match,
click on it, then click a team and click STORE. This will store this
first team as the home team. Click another team and STORE and this will
be the away team. Then repeat for the other matches. To return the
teams back into the top listview, click on the match and click
RESET MATCH. At this point, you may also click STORE to leave the match
as it is. When finished, click on SAVE SCHEDULE and if all matches have
been played, they will be written to the schedule file and the report
will be produced.
Please note :
Seedings have not been implemented and probably never will.
The reasons behind this are :
- Different types of Seed exist so it would be impractical to
attempt to implement them all.
- Teams can be 'seeded' by giving them a 'Home' advantage by setting
up a cup with Manual Scheduling.
Return To Top
Playing A Cup
This is where all the cups are played from and external scripts
for Cups are run. The window shows the title of the Cup, the current
round name and the number of teams left. If the round name shows
"Finished" then the Cup, as you probably guessed, is finished. It
allows you to view results, run scripts but not to enter scores.
Whenever a new round is scheduled, the cup is reloaded to show the
new-current round.
Return To Top
Opening A Cup
A list of cups are read from the 'Data' directory and are
displayed in a file requester, for you to choose.
Return To Top
Entering Cup Scores
After opening a cup, you can enter the scores for matches that have
been played. There is a listview gadget with the matches for the current
round and depending on the settings for the round, lines will be added for
extra time and penalties. Only matches that haven't been played will be
shown. Click on a match and then select the score. Then click STORE MATCH.
The line which may mention "#1st Leg" is not picked up.
If a score is equal, then click on Penalties and/or Extra Time and
set the score, clicking STORE MATCH. If a score is not correct then clicking
on RESET MATCH will reset the match to being not played. When all the matches
have been set, click on SAVE MATCHES. If any errors are found in the scores
that you have entered then an error report will be displayed. If there aren't
any errors and all matches have been played, then the next round will be
scheduled. If the matches are to be manually scheduled, you will be shown the
same panel when you setup the Cup and you will have to repeat the process.
Replays, Third Place Play-Off and the Final will NOT be manually scheduled.
To exit the option, click on the close gadget, or press ESCAPE.
Return To Top
Displaying Current Round
This will display all the results from the current round of the cup.
Return To Top
Display Cup Results
This will display all the results from the cup so far, in the order
that they were played in.
Return To Top
External Scripts
The flexibility of the program allows you to run external programs
where ever from, to display different data from the whole league or just a
selected team and even manipulate the data to create new files. Clicking on
SCRIPTS will display a requester with the list of external programs. Select
one and the results will be displayed. If the script requires a team name,
you will be prompted.
With the addition of Cups, External scripts are run from the
"Play Cup Games" window using the same names as above.
"HTMLTemplates.rexx" - By Heiko Schroder. Produces an HTML page
with results and league table based on
a template with a few user details.
See the script for more details.
"SwapResultsMode.rexx" - If you are storing the match and player
information, run this to get scorers etc
with the match results.
"Referees.rexx" - Display referees with their number of
matches played.
"ManOfTheMatch.rexx" - Same as Referees but for the star players.
"HTML_Results.rexx" - By Kevin Lambert. Produces HTML page
listing the results.
"HTML_Table.rexx" - By Kevin Lambert. Produces HTML page
with the league table.
"SwapLeagueMode.rexx" - At present, displaying a league shows
all data combined in one table. Running
this allows you to switch to another
format, where the table is split into
home/away. Run again to switch between
the two types.
"Cup_CloseCup.rexx" - renames Cup files, appending month
and year, leaving history intact
for future tournaments.
"DeleteNewDataFiles.rexx" - delete "_NewData.df" files created by
"EndOfSeason.rexx".
"EndOfSeason.rexx" - see Hints And Tips.
"UpdateScheduleScores.rexx" - recreates the schedule file from a
schedule definition file and updates
it with held scores.
** FOR SCHEDULED LEAGUES **
"UpdateScores.rexx" - extract data from ".sflearn" file and
update ".sf" file with the match data.
** FOR NON-SCHEDULED LEAGUES **
"FixturesLeft.rexx" - displays fixtures left to be played in
the season.
"PerformanceRating.rexx" - Displays a league table on how the teams
in the league are performing dependent
on settings defined in the program.
Change the settings for different results.
"FlipSchedule.rexx" - runs half-way through the season, and
creates a file for printing so that you
can enter scores on paper before entering
them into the program. Use for
non-scheduled leagues.
"MatchesPlayed.rexx" - displays opposing teams and the scores for
home and away games.
"MatchAnalysis.rexx" - displays data such as number of goals and
matches, bookings, attendances.
"Reformat_Schedule.rexx" - this reformats a schedule file from DDMM to
DDMMYYYY. See program for details.
"ViewNextWeeksSchedule.rexx" - if scheduled, display matches in the
following 7 days.
"ViewScheduleAndResults.rexx" - display schedule with results and games to
to be played.
"ViewTeamSchedule.rexx" - displays team's future matches but only
if created using a schedule file.
"Cup_ViewHistory.rexx" - view cup's history, showing winners/losers
and a league table of past winners.
"Cup_ViewTeamProgress.rexx" - view a team's progress throughout the Cup.
"Cup_CupInformation.rexx" - view the options, the best record, current
matches etc.
Return To Top
Writing Your Own Scripts
As already mentioned, the program supports external programs written
by you. Programs that want to manipulate and display data should be passed
the filename of the league ie. The league filename is 'Shiva3.df' so you
should pick up the name 'Shiva3'. Then format the data in your program to
read data from 'Shiva.df'. This is because the program might need to use
several different files with the same basename.
Any of the main programs can be changed, except the filenames. So
you can write your own routines or update the ones I've written. If there's
a better way of doing it, then write one, making sure that you keep the
original file format, then send it to me for inclusion in the archive. Other
user-written files should be moved to 'User' directory (see for examples)
and again, send them to me.
With the addition of Cups, external script filenames should be
preceeded with "Cup_" so that only the relevant scripts are picked for
Leagues and Cups.
*** NEW ***
New advances in technology (brain cells!) have realised that it would
be better to automatically pick up what type of script it is. Therefore the
very first line of the script must be :
'/* Mode=Run */' - supply league name (as above) and script runs.
'/* Mode=Set */' - Football issues the team selector and then passses
the league name as the first arg and the team as
the second.
Also try to localise your scripts, see the various directories for
examples. Global datafiles are used to store month and day names, the
character to display before teams have played etc. In script
'ViewNextWeeksSchedule.rexx' and 'Exec/Games.rexx', there is code which
searches through the available locales to resolve different month names so
that a datafile created in German will work with a locale of English
selected.
File extensions for: League Cup
----------------------------------------------------------------
Definition file ".df" ".cf"
Schedule file ".sf" ".scf"
Played Matches in Order ".sflearn" n/a
Statistics file ".stats" n/a
Schedule Definition file ".schd" n/a
Working data file n/a ".cfrw"
History file for Cup n/a ".cfh"
Temporary Save file for n/a ".cfsave"
Cup_Enter_Scores
File definitions for Leagues
----------------------------------------------------------------
"*LEAGUE_NAME=" - league name.
"*POINTS_PER_WIN=" - points per win , default 2.
"*POINTS_PER_DRW=" - points per draw, default 1.
"*POINTS_PER_LSE=" - points per loss, default 0.
"*RELEGATION=" - number of teams relegated, default 2.
"*PLAY_OTHER=" - number of times each team plays each other.
"*POINTS_PER_GLS=" - number of points awarded per goal.
"* Author =" - author's name.
"*AUTOSCHD=" - specifys auto-scheduling and the schedule
filename.
"*DIVISIONS=" - specifys filenames of related divisions.
"*NUM_DIVISIONS=" - the total number of divisions in the league.
"*PROMOTED=" - number of teams promoted.
"*TEAM=" - team name, in ".stats" file.
"*PLY=" - games played, in ".stats" file.
"*WIN=" - won matches, in ".stats" file.
"*DRW=" - drawn matches, in ".stats" file.
"*LST=" - lost matches, in ".stats" file.
"*GOF=" - goals scored, in ".stats" file.
"*GOA=" - goals scored against, in ".stats" file.
"*PTS=" - points, in ".stats" file.
"*DATES=" - specifys the schedule definition file is
using dates and the date specified is the
start date of the season.
"*WEEKS" - specifys the schedule definition file is
using week numbers.
"*NEXT" - specifys in the schedule definition file
that there is another schedule to be read.
"*Week:" - specifys the week number which the matches
listed below it, are playing in.
In '.sf' file.
"*Date:" - specifys the date that the matches listed
below are playing on. In '.sf' file.
The following are newly supported. They are used when storing
match and player information in '.sflearn' file.
"*RF=" - Referee's name.
"*ATD=" - Attendance.
"*HG=" - Home goal scorer.
"*HY=" - Home player booked.
"*HYR=" - Home player booked for a second time
and sent off.
"*HR=" - Home player sent off.
"*HS=" - Home player substituted.
"*HM=" - Home player was awarded Man Of The Match.
"*AG=" - Same as Home, but for Away players.
"*AY="
"*AYR="
"*AR="
"*AS="
"*AM="
File definitions for Cups
----------------------------------------------------------------
"*CUP_TITLE=" - the cup name.
"*CUP_TEAMSCT=" - the number of teams originally taking part.
"*CUP_ROUNDS=" - number of rounds the cup is scheduled for.
"*CUP_THIRD=" - specify if third place play-off to be played.
"*CUP_HISTORY=" - specify if cup history is to be kept.
"*CUP_RNDDEF=" - defines the parameters for a round.
"*CUP_ROND=" - current round number.
"*CUP_CRDN=" - current round name.
"*CUP_RDEF=" - current round definition, in ".cfrw" file.
"*CUP_TCNT=" - current number of teams in round,
in ".cfrw" file.
"*CUP_SCHEDULE=" - type of scheduling for cups. MANUAL is where
the user sets up the schedule, AUTOMATIC is
a random schedule.
"*Round=" - the roundname, in ".scf" file.
"*CUP_AWAYG=" - specifys whether away goals are to be taken
into account when deciding two-legged matches.
Return To Top
Hints And Tips
We have hints and tips for :
Leagues
Starting Mid-Season
Setting up Divisions
Ending a Season
Setting up Schedule
Return To Top
Setting up Divisions
To setup a league with more than one division:
1. Create all divisions apart from the first one, using "Create League"
but setting the number of Divisions to zero, '0'. Make sure the
"Teams Relegated" and "Teams Promoted" are set accordingly.
2. Create the first division and change the slider to show the total
number of divisions in the league. Then click on the "?" gadget and
select the divisions in order, starting from the second one. Make
sure the number of "Teams Relegated" match the number promoted from
the division that is second.
A sample setup would be: FAPrem_9798.df
Nat_D1_9798.df
Nat_D2_9798.df
Nat_D3_9798.df
3. Enter the scores as normal for each division and only when all
matches have been played, run the external script "EndOfSeason.rexx"
to handle the promotions and the relegations.
See Ending A Season for more details.
Setting Up Schedules
This is relatively easy when the information is provided for
you. There are two types of schedules, filetype '.schd', which are WEEKS
and DATES. Schedules are stored in the 'Schedules' subdirectory of 'Data/'.
The first example is a schedule for four teams, using weeks
named in "Teams4.schd" :
*WEEKS TEAM-A TEAM-B TEAM-C
000 005 001 003 - the grid is such TEAM-A x
002 000 003 004 TEAM-B x
004 006 000 002 TEAM-C x
006 001 005 000
Where the 'x's or "000" are to denote that the team obviously
doesn't play itself. The second example is from the FA Carling Premiership
1997-98. It is a schedule for 20 teams, obviously not all show here, using
dates named "CPS.schd" :
*DATES=09081997
00000000 25101997 04101997 - the grid is the same as above.
10051998 00000000 14021998
25041998 13091997 00000000
The schedule shows the date of the match between the two teams,
in the format DDMMYYYY. The '00000000' denotes the team won't play itself.
The "*DATES=" parameter is the first day of the season so when the schedule
is used to create the schedule file, ".sf", it starts at this date and runs
through to the end of the season.
Schedules can be easily created as schedules are given by football
clubs before the start of the season. These can be found in national
newspapers or in the case of the FA Carling Premiership, on the Net.
Various web sites are listed at www.blue-shantung.demon.co.uk.
Other schedules can be created with "*WEEKS". See Setting Up A League
for more details.
You can also specify the schedule, with the start date as DDMM. Then
using an external script 'Reformat_Schedule.rexx' (See External Scripts),
you can specify the filename and the two corresponding years. The program
will then reformat it correctly for use with Create League.
Example Schedule Files:
Teams4.schd - file for 4 teams using Weeks.
Teams6.schd - file for 6 teams using Weeks.
Teams63.schd - file for 6 teams, using Weeks
but playing each other 3 times.
Teams64.schd - as Teams63 but playing each
other 4 times.
WC98_GrpA-H.schd - files for Groups A-H in
World Cup 1998.
CPS.schd - file for FA Premiership 97/98.
FACPS_9899.schd - file for FA Premiership 98/99.
*** NEW ***
Now you can have teams playing each other any number of times
from 1 to 10, including odd numbers. After creating your schedule, you can
insert a line with the characters "*NEXT" and then another schedule after
it. For example :
*WEEKS
000 009 005 003 007 001
004 000 008 002 001 005
010 003 000 006 004 007
008 007 001 000 005 004
002 006 009 010 000 003
006 010 002 009 008 000
*NEXT
000 014 020 018 012 016
019 000 013 017 016 020
015 018 000 011 019 012
013 012 016 000 020 019
017 011 014 015 000 018
011 015 017 014 013 000
Setting up odd numbers, just means filling in a non-played match
with zero's. See files, "Teams63.schd" and "Teams64.schd", in "Data/" for
examples.
Any problems with this, email me and I'll try to solve the problem.
Ending A Season
There is a time at the end of every season that you get the winners
and the losers. The external script "End Of Season.rexx" will display them,
showing the winner, the promotions and the relegations and the final
league tables.
To end a season, load the file for the first division and then RUN
the script. It will calculate the final tables and then create definition
files with the name, "filename_NewData.df" with the newly adjusted
promotions and relegations. These files must then be imported into
"Create League" and then saved, to create the associated files such at the
".stats" and ".sf" files. The files from the previous season will stay as
they are. Playoffs are not handled so the winner/loser will have to be
deleted from the division and the other one inserted. This applies to both
divisions affected.
After the '_NewData.df' files have been used to create new divisions,
you can RUN external script, "DeleteNewDataFiles.rexx" to delete them.
How To Start A League Mid-Season
If you decide to start a league but some matches have already been
played that you don't know the scores to, then this is how to do it.
1. Create a league in the usual way, with the teams that you want
and the number of points etc. Then SAVE it.
2. Now, you will be asked if you want to create 'filename.stats'
which we do so click 'Okay'. Then click the teams adjusting their
settings.
3. When finished, click 'Save Stats' and you're away!
Now when you load this league, you will be able to display the
league table, and you're ready to rock 'n roll...
History
Version 1.0
(06.12.96) - First release.
(05.01.97) - Added 'MatchAnalysis' and 'GamesToBePlayed'.
(11.01.97) - Fixed bug where icon files were picked up when selecting
external scripts (probably leagues as well). Changed
'GamesToBePlayed' to 'GamesPlayed' - only works with leagues
where teams play each other twice. Spaces are removed from
filenames when creating a league. Updated references to paths
for installer and amigaguide. Default league name changed.
Removed enforcer hits in 'GamePlay' and 'Football'.
(Thanks to Steve for his MMU!)
(17.01.97) - Fixed more enforcer hits in 'GamePlay' as it kept crashing.
Fixed bug in 'GamesPlayed'.
Version 1.1
(25.04.97) - 'GamePlay' has been added to the main program and the interface
redesigned. Removed asd-library. Instead of a custom display
requester, all data is now displayed in a file reader,
specified by a new tool type. File requester used to select
leagues and external programs. You are now only allowed to
enter an even number of teams and play each team an even number
of times. PointsPerGoals added. Using new tool types, the
program remembers where you positioned the windows.
(10.05.97) - Fixed bugs in Create and Gameplay. Changed window to SMART-
REFRESH. Fixed display bug in Gameplay. Rewrote the entering of
scores - different procedure for entering scores and updating
the schedule file. Removed 'Update League'.
(19.05.97) - Fixed bug in League Information where the number of matches
played was wrong. Fixed bug where if the file viewer wasn't
found then the program crashed. No Enforcer hits found !!
Version 2.0
(18.12.97) - Fixed bugs in selecting a team, handling of league name. Added
Scheduling, Cups, Divisions (with Teams Promoted). Redesigned
front panel. Added dynamic allocation of memory.
Version 2.1
(06.06.98) - Changed method for checking if Syslog is active and added a
much improved way of sending messages. Decision taken not to
implement Seedings. Replaced all 'strcmp'.
(07.06.98) - Added hot keys to various options. Implemented Manual
Scheduling for Cups.
Version 2.2
(05.09.98) - Spent last two weeks making amendments. Fixed bugs with
listviews where the string gadget wasn't attached. Added
option to temporarily save scores in Cup Enter Scores before
a new round is scheduled. Added Two-Leg support and Away
Goals. Enforcer hit free!
(12.09.98 - Fixed bug in updating cup matches where data was missed
-14.09.98) during the recreation of a file. Added Two-Leg support to
Cup_ViewTeamProgress.rexx and added CupInformation.rexx.
(01.10.98) - Addition of external script to recreate the 'sf' file from
a newly updated 'schd' file with the previously held scores.
Polished messages and displays.
Version 2.3
(25.04.99) - Decided the time was right for another update with a few bugs
and new ideas lurking behind the door... Added new option to
update the league settings. Added two new scripts - CloseCup
to close Cup tournaments and preserve the history file while
the other files are renamed ; and - Combination (suggested
by Kevin Lambert) which allows you to set up to four options
(Table, Stats - Team/League and Fixtures) and either direct
them to the screen or a directory. Redesigned many displays,
addded improvements (to messages and the operation) and
removed some 'undocumented' features. Increased max goals
scored to 99. MultiView is now the default Guide viewer.
(05.05.99) - Fixed a major bug when entering scores (thanks Jan!) where
it would fail if you had numerics in the team name. Improved
league table display. Added information requester when some
options are selected (in case you forget whats happening as
it chugs through the data).
At Jan's request, I have added support for playing teams an
odd number of times - in fact any amount from 1 to 10.
Version 2.31
(16.05.99) - Another update but this one closes the English FA Premiership.
Fixed two bugs in League and a data bug in FAPrem_9899. Added
option to switch between different styles of league table
(thanks Jan!). Updated 'GamesPlayed' to 'MatchesPlayed'�which
now handles any number of matches played. Includes complete
Premiership data. Updated Combination.rexx with new features.
Version 2.32
(18.05.99) - Heiko Schroder (from Leipzig) sent an email regarding various
small changes that could be made. Create League now feels better
when handling errors.
Version 2.4
(29.06.99) - Big update with numerous changes suggested by Jan, Kevin, Heiko
and Steve. Thanks to you all. Odd number of teams can now play
in the same league. 'No output' message added - tell me if this
is annoying. You are now prevented from duplicating team names
when creating leagues and cups. Player and Match information
added. Create/Update League improved to allow the '.stats' file
to be created/changed. New scripts to handle new information.
New datafiles have been supplied by Jan Allan Andersen and
Heiko Schroder.
Scripts to produce HTML pages from the results and league table
have been supplied by Kevin Lambert.
Version 2.45
(21.08.99) - Fixed bug in WriteMatch and a bug in Sort4Chars,
(reported by Heiko). New datafiles.
Version 2.5
(26.09.99) - A major update. Web ring added to web site. All scripts have
proper error messages. Better script handling. More options
added; changing team names, updating settings/stats files,
changing match scores and renaming datafiles. 'No Data'
requester removed - annoying. Improved layout of
Player Information - now enter own goals and Yellow-Red card
(sent off for 2nd booking) and clone existing entries.
Change locales. New datafiles. Negative points supported
in changing stats file for points deduction. Various bug
fixes. New scripts by Kevin Lambert and Heiko Schroder.
Datafiles can now be organised into subdirectories of
'Data'. Other changes have been made but are not more
noticeable.
(03.10.99) - Thanks to Heiko and Kev for reporting several problems.
You can now load files from the main Data directory
(unlike before!!). Change Match Score has been improved by
giving you the option of which match to change
(if duplicated). Fixed a bug in this where attendances
where not correctly handled in Read Match. Directory name
is now retained from Rename so you're not able to change it.
Improved string requester. Match Analysis is now fixed.
Bug fixed in Rename where it would rename even if the
string was blank. Added message to Rename.
Version 2.5.1
(17.10.99) - Bug fix update. I have fixed the loading problem so you can
now load datafiles under Workbench 2! Heiko reported several
problems; all scripts had to be changed due to a wrong error
message for locales, tidied various displays and messages,
Yellow-Red cards are now handled properly in League Information.
Heiko has also supplied a new update to HTMLTemplates.
ViewTeamSchedule is now localised - for some reason I forgot
to do this. Added team name to players in ManOfTheMatch.
Return To Top
Future Additions
In order for this program to work, we need YOU! If there are any
scripts that you have written, datafiles that you have created, then send
them to me for inclusion in the archive.
Visit the home of Football at www.blue-shantung.demon.co.uk where
new program updates, bug fixes and datafiles are available.
Football is a continuous project and relies on thoughts and ideas
from its users. If you have a bee in your bonnet about something, tell me!
VERSION 2.6
* A GUI interface will be created to allow schedules to be setup, with
options to set dates/week numbers or to create a schedule of your own.
This will be the icing on the cake. This will make Football complete.
Possibly introduce schedules into Cups, only downloadable from Web site.
* A new script to create an AmigaGuide or HTML document which would
display all scores, scorers, referee, attendance and man of the match
awards with the scheduled date.
* Redesign of Enter Scores. All information will be on one panel.
You will be able to enter the date of each game (if desired) for later
analysis of matches.
* Player and Referee database. You'll be able to add players and
referees and select them when entering scores.
* Requester similar to that for "More Options" where you'll be able
to configure your favourite scripts for ease of access.
Thanks to Alex Georgiev.
* Scorers in Cups. Updated Cup Results, Current Round,
ViewTeamProgress and a new script to display the top scorers.
* Change match scores in Cups.
* Locale support for the main interface.
* HTML_Played - produces HTML document for games that have been played.
* Add notes to leagues/cups regarding points reduction etc.
* More Locales ?
* Organise datafiles - create directories and move datafiles.
Return To Top
Credits And Ticket Holders
Design & Programming : Mark Naughton
Assistance & Ideas : Steve Holland
Icons & Graphics : Kevin Lambert
Send any bug reports, ideas and external scripts to :
mark@blue-shantung.demon.co.uk
steve@britair.demon.co.uk
Come and visit the home of Football at www.blue-shantung.demon.co.uk where
new program updates, bug fixes and datafiles are available.
When you email me with regards to Football, I'll send you a
personalised season ticket graphic, exclusively designed by Kevin Lambert.
Ticket Holders
Jan Allan Andersen - our Danish correspondent for the Super Bowl....
Kevin Lambert - the man from Norwich...
....and the web site's graphic designer.
Heiko Schroder - webmaster for the city of Leipzig...
Alex Georgiev
Mat Neaves
Tools
SAS/C v6.58 Compiler
AZ v1.5 Editor by JM Forgeas
GadToolsBox v2.0 by Jan Van Den Baard
Return To Top